package com.ww.java.boxing;

public class Demo01 {

    /**
     * 手动装箱、拆箱
     */
    public static void test01() {
        int one = 12;
        // 手动装箱
        // 方式1：构造方法传参
        Integer t1 = new Integer(one);
        // 方法2：类型.valueOf()方法
        Integer t2 = Integer.valueOf(one);

        boolean flag = true;
        // 方式1：构造方法传参
        Boolean f1 = new Boolean(flag);
        // 方式2：类型.valueOf()方法
        Boolean f2 = Boolean.valueOf(flag);

        // 手动拆箱
        int two = t1.intValue();
        boolean otherFlag = f1.booleanValue();
    }

    public static void test02() {
        Integer a = 1;
        Integer b = 2;
        Integer c = 3;
        Integer d = 3;
        Integer e = 321;
        Integer f = 321;
        Long g = 3L;
        Long h = 2L;

        // true
        System.out.println(c == d);
        // false
        System.out.println(e == f);
        // true
        System.out.println(c = (a + b));
        // true
        System.out.println(c.equals(a + b));
        // true
        System.out.println(g == (a + b));
        // false
        System.out.println(g.equals(a + b));
        // true
        System.out.println(g.equals((a + h)));
    }
}
